iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0

今天來講講運用陣列的方式模擬佇列的行為好了
那麼何為佇列呢?以我們生活日常的例子來說舉例的話
最顯而易見的就是排隊了

push
在尾端加入新資料

pop
從前端取出資料

isEmpty
檢查Queue是否為空

getTail
回傳最後一筆資料

#define size 10

void push(int queue[], int *tail,int N){
    if(*tail==size)
        printf("isFull now\n");
    else
        queue[++(*tail)] = N;
}
void pop(int queue[], int *front){
    printf("pop data is %d\n", queue[++(*front)]);
}
int isEmpty(int *front, int *tail){
    if(*front==*tail)
        return 1;
    else
        return 0;
}
void getTail(int queue[], int *tail){
    printf("The last data is %d\n",queue[*tail]);
}
int main(){
    int queue[size];
    int i=0,front=-1,tail=-1;
    for(i=0;i<size;i++){
        push(queue,&tail,i);
    }
    getTail(queue,&tail);
    
    while(!isEmpty(&front,&tail)){
       pop(queue,&front);
    }
}

上一篇
[Day9]堆疊Stack
下一篇
[Day11]中序轉後序
系列文
環島C一下自己的人生24
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言